package com.zj.eswrapper.wrapper;

import com.zj.eswrapper.interfaces.IGetter;
import com.zj.eswrapper.interfaces.field.ILambdaField;

/**
 * @author 19242
 */
public class EsLambdaAggWrapper<DO> extends AbstractEsLastAggWrapper<IGetter<DO>, EsLambdaAggWrapper<DO>, EsLambdaQueryWrapper<DO>>
        implements ILambdaField<DO, EsAggWrapper<DO>> {

    public EsLambdaAggWrapper() {
    }

    public EsLambdaAggWrapper(AbstractEsLastAggWrapper<?, ?, ?> aggWrapper) {
        super(aggWrapper);
    }

    @Override
    protected EsLambdaQueryWrapper<DO> createQueryWrapper() {
        return new EsLambdaQueryWrapper<>();
    }

    @Override
    protected EsLambdaAggWrapper<DO> createWrapper() {
        return new EsLambdaAggWrapper<>();
    }

    @Override
    public EsAggWrapper<DO> simple() {
        return new EsAggWrapper<>(this);
    }
}
